package leetcode.code695.MaxAreaofIsland;

import leetcode.helper.HelpDebug;

public abstract class MaxAreaofIsland implements IMaxAreaofIsland {

	@Override
	public void debug1() {
		int[][] grid = new int[][] { { 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 }, { 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
				{ 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 } };

		int expect = 6;
		HelpDebug.printInputs(expect, grid);
		int result = this.debug(grid);
	}

	@Override
	public void debug2() {
		int[][] grid = new int[][] { { 1 } };
		int expect = 1;
		HelpDebug.printInputs(expect, grid);
		int result = this.debug(grid);
	}

	@Override
	public void debug3() {
		// TODO Auto-generated method stub

	}

	@Override
	public void debug4() {
		// TODO Auto-generated method stub

	}

	@Override
	abstract public int maxAreaOfIsland(int[][] grid);

	@Override
	public int debug(int[][] grid) {
		int result = this.maxAreaOfIsland(grid);
		HelpDebug.printObject(result);
		return result;
	}

}
